# frv testcase for mqsllhi $FRi,#u6,$FRj
# mach: fr450

	.include "testutils.inc"

	start

	.global mqsllhi
mqsllhi:
	set_fr_iimmed	0x0001,0x0002,fr4
	set_fr_iimmed	0x0003,0x0004,fr5
	mqsllhi		fr4,#1,fr6
	test_fr_limmed	0x0002,0x0004,fr6
	test_fr_limmed	0x0006,0x0008,fr7

	set_fr_iimmed	0xffff,0xfffe,fr4
	set_fr_iimmed	0xfffc,0xfff8,fr5
	mqsllhi		fr4,#1,fr6
	test_fr_limmed	0xfffe,0xfffc,fr6
	test_fr_limmed	0xfff8,0xfff0,fr7

	set_fr_iimmed	0xffff,0xfffe,fr4
	set_fr_iimmed	0xfffc,0xfff8,fr5
	mqsllhi		fr4,#12,fr6
	test_fr_limmed	0xf000,0xe000,fr6
	test_fr_limmed	0xc000,0x8000,fr7

	set_fr_iimmed	0x1234,0x5678,fr4
	set_fr_iimmed	0x9abc,0xdef0,fr5
	mqsllhi		fr4,#12,fr6
	test_fr_limmed	0x4000,0x8000,fr6
	test_fr_limmed	0xc000,0x0000,fr7

	set_fr_iimmed	0x1234,0x5678,fr4
	set_fr_iimmed	0x9abc,0xdef0,fr5
	mqsllhi		fr4,#16,fr6
	test_fr_limmed	0x1234,0x5678,fr6
	test_fr_limmed	0x9abc,0xdef0,fr7

	pass
